package com.lxk.mall.pms.domain.vo.statics;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.lxk.mall.pms.domain.PmsProductStatistics;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 商品统计视图对象 pms_product_statistics
 *
 * @author Lion Li
 * @date 2024-06-06
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmsProductStatistics.class)
public class PmsProductStatisticsVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 编号，主键自增
     */
    @ExcelProperty(value = "编号，主键自增")
    private Long id;
    /**
     * 商户id
     */
    private Long merId;


    /**
     * 统计日期
     */
    @ExcelProperty(value = "统计日期")
    private Date time;

    /**
     * 商品 SPU 编号
     */
    @ExcelProperty(value = "商品 SPU 编号")
    private Long spuId;

    /**
     * 浏览量
     */
    @ExcelProperty(value = "浏览量")
    private Long browseCount;

    /**
     * 访客量
     */
    @ExcelProperty(value = "访客量")
    private Long browseUserCount;

    /**
     * 收藏数量
     */
    @ExcelProperty(value = "收藏数量")
    private Long favoriteCount;

    /**
     * 加购数量
     */
    @ExcelProperty(value = "加购数量")
    private Long cartCount;

    /**
     * 下单件数
     */
    @ExcelProperty(value = "下单件数")
    private Long orderCount;

    /**
     * 支付件数
     */
    @ExcelProperty(value = "支付件数")
    private Long orderPayCount;

    /**
     * 支付金额
     */
    @ExcelProperty(value = "支付金额")
    private BigDecimal orderPayPrice;

    /**
     * 退款件数
     */
    @ExcelProperty(value = "退款件数")
    private BigDecimal afterSaleCount;

    /**
     * 退款金额
     */
    @ExcelProperty(value = "退款金额")
    private BigDecimal afterSaleRefundPrice;

    /**
     * 访客支付转化率（百分比）
     */
    @ExcelProperty(value = "访客支付转化率", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "百=分比")
    private Long browseConvertPercent;


}
